草庐IT

Javascript while 循环返回值

全部标签

javascript - 从 for-in 循环获取属性名称背后的简单理论?

首先,我想说我在理论上很厉害。我不喜欢抽象。在尝试使用它们之前,我想知道它们是如何工作的。我一直在到处寻找获取for-in循环的属性名称(而不是值)背后的简单理论。我将在代码中演示它,希望有人可以解释它是如何工作的……varobj={one:1,two:2,three:3};//Abasicobjectinstantiatedwith3publicproperties.for(varpropinobj){console.log(prop);//logs"one","two"and"three"???}我认为它会将prop变量评估为1、2和3,但它会记录实际的属性名称。我知道obj[pr

javascript - val() 循环可能性与 each() 相反

这个问题在这里已经有了答案:ReadmultiplejQuery.val()intoarray(3个答案)关闭9年前。所以有点假设性的问题(如果有另一篇文章有​​同样的问题,请不要犹豫,让我知道-虽然我没有找到)因此,.val()方法返回与选择器匹配的第一个元素的当前值。是否有另一种“速记”jquery方法获取所有匹配元素的值并返回一个数组?或者我这样做最安全吗:varmyResult=[];$(".myClass").each(function(){myResult.push($(this).val());});正如我上面所说,我正在寻找一些东西,但可能只是我必须使用.each()

javascript - casperjs:评估 document.querySelector 返回 null

我正在使用waitForSelector()和captureSelector()CasperJS中等待并使用CSS选择器选择元素的方法,然后保存它的屏幕截图。但是,我发现因为cssbackground已经被设置为transparent,截图变得很丑,所以我想设置background到white。我有madesure我在evaluate()中使用document.querySelector打电话,但这似乎不起作用。这是我的脚本(你可以忽略casper.start(...之前的所有内容,我只是包含了下一个代码片段的上下文的开始部分):varcasper=require("casper").

javascript - jquery 只从开发工具控制台返回第一个输入元素

我有以下html:................我想选择所有的输入元素,但是当我输入时:$("input")在chromedevtools控制台中,我只得到第一个元素:我可以输入什么来获得输入元素的完整列表? 最佳答案 这不是一个愚蠢的问题。这实际上是Chrome开发者工具带来的困惑行为。这里发生的事情是您没有包含JQuery。GoogleChrome在Chrome开发者工具中提供了变量/函数$。它与jQuery不同。这是关于它的文档:https://developers.google.com/chrome-developer-t

javascript - 为什么递归比 JavaScript 求和函数的平面 for 循环更快?

我正在使用一种可转换为JavaScript的语言工作。为了避免一些堆栈溢出,我通过将某些函数转换为for循环来应用尾调用优化。令人惊讶的是转换并不比递归版本快。http://jsperf.com/sldjf-lajf-lkajf-lkfadsj-f/5递归版本:(functionrecur(a0,s0){returna0==0?s0:recur(a0-1,a0+s0)})(10000,0)尾调用优化后:ret3=void0;a1=10000;s2=0;(function(){while(!ret3){a1==0?ret3=s2:(a1_tmp$=a1-1,s2_tmp$=a1+s2,a

javascript - Safari 推送通知返回拒绝而不询问

我正在尝试在Safari中使用新的推送通知。我正在使用以下代码段:varcheckRemotePermission=function(permissionData){if(permissionData.permission==='default'){//ThisisanewwebserviceURLanditsvalidityisunknown.console.log("default");window.safari.pushNotification.requestPermission('https://website.com/','web.com.website.notify',{u

javascript - 为什么 Backbone Collection fetch 不返回 promise

以下示例代码运行良好:Auth_controller.prototype.isLogged=function(){//CheckiftheuserisauthenticatedvargetAuthStatus=this.auth_model.fetch();returngetAuthStatus;};Auth_controller.prototype.redirect=function(fragment,args,next){vargetAuthStatus=this.isLogged();varself=this;$.when(getAuthStatus).then(function

javascript - Meteor.user().profile 返回 'profile' undefined

我有一个名为“isActive”的助手和一个名为“create”的模板..见下文Template.create.isActive=function(){returnMeteor.user().profile.isActive;};当我尝试运行此代码时,它会在控制台中返回以下内容:“模板助手中的异常:TypeError:无法读取未定义的属性‘profile’”。基本上我想从当前用户配置文件中提取“isActive”信息并将其返回到模板。知道为什么这不起作用吗?更新//startuponserverside:Meteor.publish("userData",function(){if(t

javascript - NodeJS 循环优化

我知道在浏览器中,按照for(vari=0,l=arr.length;i代替for(vari=0;i但是在NodeJS中是这样还是V8引擎优化了呢?我知道ecma-2625.1sec-15.4数组长度定义如下:Thevalueofthelengthpropertyisnumericallygreaterthanthenameofeverypropertywhosenameisanarrayindex;wheneverapropertyofanArrayobjectiscreatedorchanged,otherpropertiesareadjustedasnecessarytomain

javascript - localStorageService.set 返回 "isUndefined is not defined"

在我的AngularJs应用程序中,我尝试使用localStorage服务,我引用了“angular-local-storage.js”并将服务注入(inject)到模块中varapp=angular.module('SampleApp',['ngRoute','ngSanitize','toaster','LocalStorageModule']);当我尝试在我的Controller之一中使用服务时出现抛出错误。(function(){varapp=angular.module('SampleApp');app.controller('loginController',['$scop